Two major telecommunication networks have evolved worldwide. The first is a network of telephone systems in the form of the Public Switched Telephone System (PSTN). This network was initially designed to carry voice communication, but later also adapted to transport data. The second is a network of computer systems in the form of the Internet. The Internet has been designed to carry data but also increasingly being used to transport voice and multimedia information. Computers implementing telephony applications have been integrated into both of these telecommunication networks to provide enhanced communication services. For example on the PSTN, computer telephony integration has provided more functions and control to the POTS (Plain Old Telephone Services). On the Internet, computers are themselves terminal equipment for voice communication as well as serving as intelligent routers and controllers for a host of terminal equipment.
The Internet is a worldwide network of IP networks communicating under TCP/IP. Any type of media is packaged and transported in packets. Personal communication over the Internet is usually done with text messages under a number of protocols. Voice and other multimedia information are typically transported on the Internet under the VoIP (Voice-over-IP) protocol, and various standards that have been put forward for interoperability. Another important implementation of VOIP protocol is SIP (“Session Initiation Protocol”.)
The integration of the PSTN and the IP networks allows for greater facility in automation of voice applications by leveraging the inherent routing flexibility and computing accessibility in the IP networks.
FIG. 1 illustrates schematically an Interactive Voice Response (“IVR”) platform. IVR is a technology that automates interaction with telephone callers. For example, enterprises are increasingly turning to IVR to reduce the cost of common sales, service, collections, inquiry and support calls to and from their company.
Historically, IVR solutions have used pre-recorded voice prompts and menus to present information and options to callers, and touch-tone telephone keypad entry to gather responses. Modern IVR solutions also enable input and responses to be gathered via spoken words with voice recognition.
IVR solutions enable users using voice as a medium or other form of inputs through a voice channel to retrieve information including bank balances, flight schedules, product details, order status, movie show times, and more from any telephone. Additionally, IVR solutions are increasingly used to place outbound calls to deliver or gather information for appointments, past due bills, and other time critical events and activities.
FIG. 1 illustrates the IVR platform that supports and runs a voice application to direct how a call is to be handled. A voice application 20 is specified by a voice application script with codes having voice-specific statements. For example, such voice-specific statements can include VoiceXML tags. When a user makes a call through a voice client such as a handset 30 or a VoIP phone 32 to the IVR 10, the voice application script associated with the call number is retrieved. A voice browser 40 is one that is designed to execute or render the retrieved voice application script to allow the user to interact with the voice application.
One feature of the IVR platform is that each call connection is of finite time. Traditionally, a call connection through a circuit-switched network consumes bandwidth and resources that have toll charges associated with them. The same is true to a lesser degree even if the call is routed through an IP network. Therefore, a call connection is maintained as long as it is needed, and when no further activities are forth coming, the call is terminated. Thus, calls are conducted in well defined call sessions.
FIG. 1 also shows a call session manager in the IVR platform. The call session manager 50 is used to manage a call session. It sets up a call and its routing, maintains it and eventually tears it down. The session manager is responsible for creating new sessions, deleting terminated sessions, routing all actions and events to the appropriate modules and maintaining modularity between each session. It responds to I/O and goto requests, and other additional events. One important function of the session manager is to perform call control operations. For example, in the context of VoIP, it is implemented as a SIP controller (e.g., driven by CCXML (Call Control XML) scripts.)
A session begins with the reception of an asynchronous event signaling an incoming call. The Session Manager then creates a session for this call by accessing a database keyed on the session's DNS and ANI information, which returns an initial Application script. A cycle of actions and events begins with the transmission of this script to be parsed and to generate action requests collected from the parsing of the script. The Session Manager processes these action requests and then returns to parsing until the end of the session.
An example of an IVR platform is described in U.S. Pat. No. 6,922,411, which entire disclosure is incorporated herein by reference.
FIG. 2 is a schematic illustration of a general text messaging environment. Text messaging is a form of communication by exchange of text messages from point to point or point to multiple points. Most common forms of text messaging are email, web blog and instant messaging. Instant messaging (“IM”) exchanges messages almost in real-time. There are a number of proprietary instant messaging networks, depicted as IM Network 1 60-1, IM Network 2 60-2, . . . , each providing IM service to each own clients using a native protocol. An open source IM Network 70 also exists and uses the XMPP protocol. XMPP refers to Extensible Messaging and Presence Protocol and it is a set of open XML technologies for presence and real-time communication developed by the Jabber open-source community in 1999. Also there are some standards and networks designed for short message transmission suitable for the mobile environment and portable clients. SMS (Short Message Service) 80 is one such standard. Other text messaging networks 90 also exist. For example, email, Twitter (not shown) is another network providing micro-blogging service.
An IVR is a specific example of a self-help application in which users can help themselves by interacting with the application to perform some tasks. A traditional IVR only allows users to interact with it through a voice channel. Similarly, a web bot is a specific example of a self-help application that allows users to perform tasks using a text channel.
It is desirable to have a self-help application that allows interaction with different media, such as voice in one channel and text messaging in another channel. However, the context and characteristics of operating with voice versus with text are quite different that a multi-channel (including voice and text) self-help application having a common application script has not been realized.